1. Field of Invention
Embodiments of the invention generally relate to media servers for delivering media-based services. More specifically, various embodiments of the invention relate to testing media servers.
2. Description of the Background Art
The use of packet-based networks, in particular Voice over Internet Protocol (VoIP) networks, has increased in the last decade. Further, service providers have been striving to provide improved service and value-added features to their customers. They provide services, such as text messaging, Voice Mail (VM) and Interactive Voice Response (IVR), among others.
Nowadays, these services are increasingly being used for complex applications. For example, an IVR server may be used to collect responses from viewers of a television quiz contest, which would award the first hundred correct responses. When the telephone number is flashed on the television, the telephone lines are simultaneously opened for accepting the viewers' responses. Thereafter, the IVR server works at or near its maximum capacity of the total number of calls that it can handle. This puts the software infrastructure of the server under a lot of stress, since it has to differentiate between the responses of the various viewers and accordingly provide the correct prompts to the viewers. However, it is not always easy to verify whether the correct and complete prompts were provided to all the viewers. According to another example, a voice mail server may be used to collect and replay voice mails in an office. In this case, the number of prompts being provided by the voice mail server may be very large. These prompts may include digits like ‘one’, ‘two’, ‘fifty’; and menus like ‘press one to delete mail’. These prompts may become complex if two or more prompts are combined, for example ‘you have’, ‘thirty five’, ‘new mail messages’. In addition, each user may have an option to change his prompts. Furthermore, if the office employs people from different regions of the world, the server may be required to provide the prompts in more than one language, which causes the number of prompts to increase manifold. If a majority of these employees reach office after a weekend and access their voice mails, the number of requests reaching the server may be very large, causing the voice mail server to work at or near its maximum capacity, where the performance of the server may start deteriorating. Therefore, simulators are used to test these servers for reliable operation and measure the point wherefrom they break down.
According to a conventional method of testing, the prompts are replaced with unique tone sequences. These tone sequences enable the simulator to identify the prompt. However, these tone sequences are meaningless for the test engineer configuring or verifying the simulator. In light of this, the testing becomes cumbersome and error-prone.
According to another conventional method, unique tone sequences are added on to the end of the prompts. While this technique solves the problems arising in the previous method, it gives rise to two new problems. The special prompts are now longer than the original prompts, which means the performance of the server in actual conditions may not be completely ascertained. In addition, since there is no verification of the portions of the prompts that did not contain the tones, the simulator is no longer able to verify the original portion of the prompt. Therefore, problems in the server's playback mechanism might go unnoticed and uncorrected.
According to another conventional scheme, speech or pattern recognition techniques may be used. The incoming prompt is digitally processed and then compared with a collection of patterns to match the prompt. These techniques are computationally intensive and therefore, require larger processing and memory infrastructure.
According to still another conventional scheme, a brute-force comparison of each prompt is carried out. In this scheme, the simulator maintains copies of all prompts and a pre-specified sequence in which the server will send the prompts. The prompts received are systematically compared against the expected prompts to verify the performance of the server. However, the required computational effort increases considerably if the prompts received are fragmented as the server is pushed to work up to its maximum limits. In such a case, the simulator's performance measuring criteria may not be accurate.